package com.xinnet.mms.allot.dao;

import java.sql.SQLException;
import java.util.List;

import org.springframework.stereotype.Repository;

import com.xinnet.core.utils.page.PageView;
import com.xinnet.mms.entity.CustomMix;
import com.xinnet.mms.entity.CustomMixAudit;
import com.xinnet.mms.entity.CustomMixDept;

@Repository
public interface CustomMixDao {
	/**
	 * 
	 * 功能描述：分页查询所有已分配的客户
	 *
	 * @return
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年1月23日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public PageView<CustomMix> queryAllCustomer(PageView<CustomMix> pageView) throws SQLException;
	/**
	 * 
	 * 功能描述：查询调配弹窗的信息
	 *
	 * @param cusId
	 * @return
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年1月23日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public CustomMixDept showInMixDiv(String cusId) throws SQLException;
	/**
	 * 
	 * 功能描述：添加客户调配信息进入客户调配审核
	 *
	 * @param customMixAudit
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年1月23日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public void addCustomMixAudit(CustomMixAudit customMixAudit) throws SQLException;
	/**
	 * 
	 * 功能描述：通过查询条件过滤客户调配页面客户信息
	 *
	 * @param customMix
	 * @return
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年1月23日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public PageView<CustomMix> queryCustomMixByTrem(PageView<CustomMix> pageView,CustomMix customMix) throws SQLException;
	
	public void updateCustomMixAuditByEcrId(String ecrId);
	/**
	 * 
	 *
	 * 功能描述：修正审核中但未显示的错误记录
	 * 
	 * @author 湛智
	 *
	 * @throws 2014年8月14日
	 *
	 */
	public void updateCustomflagByEmpno(String empno) throws SQLException;
	/**
	 * 
	 *
	 * 功能描述：根据id获取调配记录
	 * 
	 * @author 湛智
	 *
	 * @throws 2014年8月14日
	 *
	 */
	public CustomMixAudit getCustomMixAuditById(String id) throws SQLException;
	
	
	/**
	 * 功能描述：分页查询调配记录
	 * @param pageView
	 * @return
	 */
	public PageView<CustomMixAudit> queryMixCustomersByCondition(PageView<CustomMixAudit> pageView,CustomMixAudit customMixAudit);
	
	public Integer queryMixCustomerCount(CustomMixAudit customMixAudit);
	
	/**
	 * 根据id更新数据
	 * @param customMixAudit
	 */
	public void updateCustomMixAudit(CustomMixAudit customMixAudit);
}
